package xyz.ccola.mapper;

import xyz.ccola.pojo.Customer;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

/**
 * @ Name: CustomerMapper
 * @ Author: Cola
 * @ Time: 2023/1/6 5:31
 * @ Description: CustomerMapper
 */
public interface CustomerMapper {

    /**
     * <if> 标签的使用
     * 根据 Customer 的 Name 和 Jobs 进行查询
     * @return Customer
     */
    List<Customer> findCustomerByNameAndJobs(Customer customer);


    /**
     *  <choose>、<when>、<otherwise>  标签的使用
     * 根据 Customer 的 Name 或者 Jobs 进行查询
     * @return Customer
     */
    List<Customer> findCustomerByNameOrJobs(Customer customer);

    /**
     * <where> 标签的使用
     * 根据 Customer 的 Name 和 Jobs 进行查询
     * @return Customer
     */
    List<Customer> findCustomerByNameAndJobsVersion02(Customer customer);

    /**
     * <trim> 标签的使用
     * 根据 Customer 的 Name 和 Jobs 进行查询
     * @return Customer
     */
    List<Customer> findCustomerByNameAndJobsVersion03(Customer customer);

    /**
     * <set> 标签的使用
     * 更新 Customer
     * @return Customer
     */
    Integer updateCustomer(Customer customer);

    /**
     * <trim> 标签进行更新操作
     * 更新 Customer
     * @return Customer
     */
    Integer updateCustomerVersion02(Customer customer);

    /**
     * 迭代数组
     * @param ids ids
     * @return Customer
     */
    List<Customer> findByArray(Integer [] ids);

    /**
     * 迭代 List
     * @param ids ids
     * @return Customer
     */
    List<Customer> findByList(ArrayList<Integer> ids);

    /**
     * 迭代 Map
     * @param map map
     * @return Customer
     */
    List<Customer> findByMap(HashMap<String,Object> map);
}
